package com.chixing.entity.DTO;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 消息 DTO（Data Transfer Object）
 * 用于 WebSocket 推送和前端展示
 */
@Data //自动生成 getter/setter、toString、equals、hashCode
@AllArgsConstructor //自动生成全参构造函数
@NoArgsConstructor //自动生成无参构造函数
@Builder //提供 Builder 模式创建对象，链式调用更灵活
public class MessageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 消息ID（数据库主键或业务ID，可用作唯一标识） */
    private Long id;
    /** 消息要推送给那个用户*/
    private Long userId;

    /** 关联的订单编号 */
    private String orderNumber;

    /** 消息标题，例如“订单支付成功” */
    private String title;

    /** 消息内容，例如“您的订单已支付成功，我们已为您锁定房间” */
    private String content;

    /** 消息类型：ORDER_SUCCESS / PAYMENT_SUCCESS / TIMEOUT */
    private String type;

    /** 消息发送时间 */
    private LocalDateTime sendTime;

//    /** 消息是否已读（前端可根据该字段显示已读标记） */
//    private Boolean isRead;
}
